home *** CD-ROM | disk | FTP | other *** search
-
- /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
- #include <cmpinclude.h>
- #include "cmplabel.h"
- init_cmplabel(start,size,data)char *start;int size;object data;
- { register object *base=vs_top;register object *sup=base+VM2;vs_top=sup;vs_check;
- Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
- VV[1]->s.s_stype=(short)stp_special;
- if(VV[1]->s.s_dbind == OBJNULL){
- VV[1]->s.s_dbind = VV[0];}
- VV[2]->s.s_stype=(short)stp_special;
- VV[3]->s.s_stype=(short)stp_special;
- MM(VV[43],L1,start,size,data);
- MM(VV[44],L2,start,size,data);
- MM(VV[45],L3,start,size,data);
- MM(VV[46],L4,start,size,data);
- MF(VV[47],L5,start,size,data);
- MF(VV[48],L6,start,size,data);
- MF(VV[49],L7,start,size,data);
- MF(VV[50],L8,start,size,data);
- vs_top=vs_base=base;
- }
- /* macro definition for NEXT-LABEL */
-
- static L1()
- { register object *base=vs_base;
- register object *sup=base+VM3;
- vs_reserve(VM3);
- check_arg(2);
- vs_top=sup;
- {object V1=base[0]->c.c_cdr;
- if(!endp(V1))invalid_macro_call();}
- base[2]= VV[4];
- vs_top=(vs_base=base+2)+1;
- return;
- }
- /* macro definition for NEXT-LABEL* */
-
- static L2()
- { register object *base=vs_base;
- register object *sup=base+VM4;
- vs_reserve(VM4);
- check_arg(2);
- vs_top=sup;
- {object V2=base[0]->c.c_cdr;
- if(!endp(V2))invalid_macro_call();}
- base[2]= VV[5];
- vs_top=(vs_base=base+2)+1;
- return;
- }
- /* macro definition for WT-LABEL */
-
- static L3()
- { register object *base=vs_base;
- register object *sup=base+VM5;
- vs_reserve(VM5);
- check_arg(2);
- vs_top=sup;
- {object V3=base[0]->c.c_cdr;
- if(endp(V3))invalid_macro_call();
- base[2]= (V3->c.c_car);
- V3=V3->c.c_cdr;
- if(!endp(V3))invalid_macro_call();}
- base[3]= list(2,VV[7],base[2]);
- base[4]= list(2,VV[10],base[2]);
- base[5]= list(4,VV[8],VV[9],base[4],VV[11]);
- base[6]= list(3,VV[6],base[3],base[5]);
- vs_top=(vs_base=base+6)+1;
- return;
- }
- /* macro definition for WT-GO */
-
- static L4()
- { register object *base=vs_base;
- register object *sup=base+VM6;
- vs_reserve(VM6);
- check_arg(2);
- vs_top=sup;
- {object V4=base[0]->c.c_cdr;
- if(endp(V4))invalid_macro_call();
- base[2]= (V4->c.c_car);
- V4=V4->c.c_cdr;
- if(!endp(V4))invalid_macro_call();}
- base[3]= list(3,VV[13],base[2],Ct);
- base[4]= list(2,VV[10],base[2]);
- base[5]= list(4,VV[14],VV[15],base[4],VV[16]);
- base[6]= list(3,VV[12],base[3],base[5]);
- vs_top=(vs_base=base+6)+1;
- return;
- }
- /* function definition for UNWIND-BDS */
-
- static L5()
- { register object *base=vs_base;
- register object *sup=base+VM7;
- vs_reserve(VM7);
- check_arg(2);
- vs_top=sup;
- TTL:;
- if((base[0])==Cnil){
- goto T2;}
- princ_str("\n bds_unwind(V",VV[17]);
- base[2]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+2,1);
- princ_str(");",VV[17]);
- T2:;
- {int V5;
- V5= 0;
- T11:;
- base[2]= make_fixnum(V5);
- if(!(number_compare(base[2],base[1])>=0)){
- goto T12;}
- base[2]= Cnil;
- vs_top=(vs_base=base+2)+1;
- return;
- T12:;
- princ_str("\n bds_unwind1;",VV[17]);
- V5= (V5)+1;
- goto T11;}
- }
- /* function definition for UNWIND-EXIT */
-
- static L6()
- { register object *base=vs_base;
- register object *sup=base+VM8;
- vs_reserve(VM8);
- bds_check;
- if(vs_top-vs_base<1) too_few_arguments();
- if(vs_top-vs_base>2) too_many_arguments();
- vs_base=vs_base+1;
- if(vs_base>=vs_top){vs_top=sup;goto T21;}
- vs_top=sup;
- goto T22;
- T21:;
- base[1]= Cnil;
- T22:;
- {int V6;
- bds_bind(VV[18],symbol_value(VV[18]));
- base[3]= Cnil;
- V6= 0;
- if(!(base[0]==VV[19])){
- goto T25;}
- if(symbol_value(VV[20])==VV[21]){
- goto T25;}
- if(symbol_value(VV[20])==VV[22]){
- goto T25;}
- princ_str("\n ",VV[17]);
- (void)simple_symlispcall_no_event(VV[52],base+4,0);
- T25:;
- if(!(type_of(symbol_value(VV[20]))==t_cons)){
- goto T35;}
- if(!(car(symbol_value(VV[20]))==VV[23])){
- goto T35;}
- base[4]= base[0];
- base[5]= cadr(symbol_value(VV[20]));
- (void)simple_symlispcall_no_event(VV[53],base+4,2);
- if(!(base[0]==Ct)){
- goto T33;}
- base[4]= Cnil;
- vs_top=(vs_base=base+4)+1;
- bds_unwind1;
- return;
- T35:;
- if(!(type_of(symbol_value(VV[20]))==t_cons)){
- goto T33;}
- if(!(car(symbol_value(VV[20]))==VV[24])){
- goto T33;}
- base[4]= base[0];
- base[5]= cadr(symbol_value(VV[20]));
- (void)simple_symlispcall_no_event(VV[54],base+4,2);
- if((base[0])!=Cnil){
- goto T33;}
- base[4]= Cnil;
- vs_top=(vs_base=base+4)+1;
- bds_unwind1;
- return;
- T33:;
- {object V7;
- base[4]= symbol_value(VV[3]);
- V7= car(base[4]);
- T55:;
- if(!(endp(base[4]))){
- goto T56;}
- symlispcall_no_event(VV[55],base+5,0);
- bds_unwind1;
- return;
- T56:;
- if(!(type_of((V7))==t_cons)){
- goto T62;}
- if(!((V7)==symbol_value(VV[2]))){
- goto T65;}
- if(!(type_of(symbol_value(VV[20]))==t_cons)){
- goto T69;}
- if(car(symbol_value(VV[20]))==VV[23]){
- goto T68;}
- if(!(car(symbol_value(VV[20]))==VV[24])){
- goto T69;}
- T68:;
- base[5]= base[3];
- base[6]= make_fixnum(V6);
- vs_top=(vs_base=base+5)+2;
- L5();
- vs_top=sup;
- goto T67;
- T69:;
- if((base[3])!=Cnil){
- goto T77;}
- if(!((V6)>0)){
- goto T78;}
- T77:;
- if(!(type_of(base[0])==t_cons)){
- goto T83;}
- if(!(car(base[0])==VV[25])){
- goto T86;}
- {object x= structure_ref(cadr(base[0]),VV[25],1),V8= VV[26];
- while(!endp(V8))
- if(eql(x,V8->c.c_car)){
- goto T82;
- }else V8=V8->c.c_cdr;}
- T86:;
- {object x= car(base[0]),V9= VV[27];
- while(!endp(V9))
- if(eql(x,V9->c.c_car)){
- goto T90;
- }else V9=V9->c.c_cdr;
- goto T83;}
- T90:;
- T82:;
- if(!(type_of(symbol_value(VV[20]))==t_cons)){
- goto T92;}
- if(!(car(symbol_value(VV[20]))==VV[28])){
- goto T92;}
- base[5]= base[0];
- (void)simple_symlispcall_no_event(VV[56],base+5,1);
- base[5]= base[3];
- base[6]= make_fixnum(V6);
- vs_top=(vs_base=base+5)+2;
- L5();
- vs_top=sup;
- goto T67;
- T92:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- base[5]= list(2,VV[28],base[6]);
- bds_bind(VV[20],base[5]);
- base[7]= base[0];
- base[8]= simple_symlispcall_no_event(VV[56],base+7,1);
- bds_unwind1;
- base[6]= base[3];
- base[7]= make_fixnum(V6);
- vs_top=(vs_base=base+6)+2;
- L5();
- vs_top=sup;
- base[6]= base[5];
- (void)simple_symlispcall_no_event(VV[56],base+6,1);
- goto T67;
- T83:;
- base[5]= base[3];
- base[6]= make_fixnum(V6);
- vs_top=(vs_base=base+5)+2;
- L5();
- vs_top=sup;
- base[5]= base[0];
- (void)simple_symlispcall_no_event(VV[56],base+5,1);
- goto T67;
- T78:;
- base[5]= base[0];
- (void)simple_symlispcall_no_event(VV[56],base+5,1);
- T67:;
- if((base[1])==Cnil){
- goto T113;}
- princ_str("\n ",VV[17]);
- if(type_of(symbol_value(VV[2]))!=t_cons)FEwrong_type_argument(Scons,symbol_value(VV[2]));
- (symbol_value(VV[2]))->c.c_cdr = Ct;
- princ_str("goto T",VV[17]);
- base[5]= car(symbol_value(VV[2]));
- (void)simple_symlispcall_no_event(VV[51],base+5,1);
- princ_char(59,VV[17]);
- T113:;
- base[5]= Cnil;
- vs_top=(vs_base=base+5)+1;
- bds_unwind1;
- return;
- T65:;
- base[1]= Ct;
- goto T60;
- T62:;
- if(!(type_of((V7))==t_fixnum||
- type_of((V7))==t_bignum||
- type_of((V7))==t_ratio||
- type_of((V7))==t_shortfloat||
- type_of((V7))==t_longfloat||
- type_of((V7))==t_complex)){
- goto T124;}
- base[3]= (V7);
- V6= 0;
- goto T60;
- T124:;
- if(!((V7)==VV[29])){
- goto T130;}
- V6= (V6)+(1);
- goto T60;
- T130:;
- if(!((V7)==VV[21])){
- goto T134;}
- if(!(symbol_value(VV[2])==VV[21])){
- goto T60;}
- base[5]= base[0];
- (void)simple_symlispcall_no_event(VV[56],base+5,1);
- base[5]= base[3];
- base[6]= make_fixnum(V6);
- vs_top=(vs_base=base+5)+2;
- L5();
- vs_top=sup;
- princ_str("\n return;",VV[17]);
- base[5]= Cnil;
- vs_top=(vs_base=base+5)+1;
- bds_unwind1;
- return;
- T134:;
- if(!((V7)==VV[31])){
- goto T146;}
- if(!(type_of(base[0])==t_cons)){
- goto T148;}
- {object x= car(base[0]),V10= VV[32];
- while(!endp(V10))
- if(eql(x,V10->c.c_car)){
- goto T152;
- }else V10=V10->c.c_cdr;
- goto T148;}
- T152:;
- if(!(type_of(symbol_value(VV[20]))==t_cons)){
- goto T154;}
- if(!(car(symbol_value(VV[20]))==VV[28])){
- goto T154;}
- base[5]= base[0];
- (void)simple_symlispcall_no_event(VV[56],base+5,1);
- base[0]= symbol_value(VV[20]);
- goto T148;
- T154:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- base[5]= list(2,VV[28],base[6]);
- bds_bind(VV[20],base[5]);
- base[6]= base[0];
- (void)simple_symlispcall_no_event(VV[56],base+6,1);
- base[0]= (VV[20]->s.s_dbind);
- bds_unwind1;
- T148:;
- princ_str("\n frs_pop();",VV[17]);
- goto T60;
- T146:;
- base[5]= ((V7)==VV[33]?Ct:Cnil);
- if((base[5])==Cnil){
- goto T169;}
- goto T60;
- T169:;
- if(!((V7)==VV[34])){
- goto T172;}
- base[1]= Ct;
- goto T60;
- T172:;
- if(!((V7)==VV[35])){
- goto T176;}
- if(!(symbol_value(VV[2])==VV[35])){
- goto T60;}
- if((base[3])!=Cnil){
- goto T181;}
- if(!((V6)>0)){
- goto T182;}
- T181:;
- base[6]= base[0];
- if((simple_symlispcall_no_event(VV[58],base+6,1))==Cnil){
- goto T187;}
- setq(VV[36],number_plus(symbol_value(VV[36]),VV[30]));
- base[6]= symbol_value(VV[36]);
- princ_str("\n {int V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[59],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str(")}",VV[17]);
- goto T180;
- T187:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- princ_str("\n ",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(fix(",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("))",VV[17]);
- goto T180;
- T182:;
- princ_str("\n VMR",VV[17]);
- base[6]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+6,1);
- princ_char(40,VV[17]);
- base[6]= base[0];
- (void)simple_symlispcall_no_event(VV[59],base+6,1);
- princ_char(41,VV[17]);
- T180:;
- base[6]= Cnil;
- vs_top=(vs_base=base+6)+1;
- bds_unwind1;
- return;
- T176:;
- if(!((V7)==VV[38])){
- goto T240;}
- if(!(symbol_value(VV[2])==VV[38])){
- goto T60;}
- if((base[3])!=Cnil){
- goto T245;}
- if(!((V6)>0)){
- goto T246;}
- T245:;
- base[6]= base[0];
- if((simple_symlispcall_no_event(VV[61],base+6,1))==Cnil){
- goto T251;}
- setq(VV[36],number_plus(symbol_value(VV[36]),VV[30]));
- base[6]= symbol_value(VV[36]);
- princ_str("\n {unsigned char V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[62],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str(")}",VV[17]);
- goto T244;
- T251:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- princ_str("\n ",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(char-code(",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("))",VV[17]);
- goto T244;
- T246:;
- princ_str("\n VMR",VV[17]);
- base[6]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+6,1);
- princ_char(40,VV[17]);
- base[6]= base[0];
- (void)simple_symlispcall_no_event(VV[62],base+6,1);
- princ_char(41,VV[17]);
- T244:;
- base[6]= Cnil;
- vs_top=(vs_base=base+6)+1;
- bds_unwind1;
- return;
- T240:;
- if(!((V7)==VV[39])){
- goto T304;}
- if(!(symbol_value(VV[2])==VV[39])){
- goto T60;}
- if((base[3])!=Cnil){
- goto T309;}
- if(!((V6)>0)){
- goto T310;}
- T309:;
- base[6]= base[0];
- if((simple_symlispcall_no_event(VV[63],base+6,1))==Cnil){
- goto T315;}
- setq(VV[36],number_plus(symbol_value(VV[36]),VV[30]));
- base[6]= symbol_value(VV[36]);
- princ_str("\n {int V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[64],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str(")}",VV[17]);
- goto T308;
- T315:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- princ_str("\n ",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(fix(",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("))",VV[17]);
- goto T308;
- T310:;
- princ_str("\n VMR",VV[17]);
- base[6]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+6,1);
- princ_char(40,VV[17]);
- base[6]= base[0];
- (void)simple_symlispcall_no_event(VV[64],base+6,1);
- princ_char(41,VV[17]);
- T308:;
- base[6]= Cnil;
- vs_top=(vs_base=base+6)+1;
- bds_unwind1;
- return;
- T304:;
- if(!((V7)==VV[40])){
- goto T368;}
- if(!(symbol_value(VV[2])==VV[40])){
- goto T60;}
- if((base[3])!=Cnil){
- goto T373;}
- if(!((V6)>0)){
- goto T374;}
- T373:;
- base[6]= base[0];
- if((simple_symlispcall_no_event(VV[65],base+6,1))==Cnil){
- goto T379;}
- setq(VV[36],number_plus(symbol_value(VV[36]),VV[30]));
- base[6]= symbol_value(VV[36]);
- princ_str("\n {int V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[66],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(V",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str(")}",VV[17]);
- goto T372;
- T379:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- princ_str("\n ",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_str("(fix(",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("))",VV[17]);
- goto T372;
- T374:;
- princ_str("\n VMR",VV[17]);
- base[6]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+6,1);
- princ_char(40,VV[17]);
- base[6]= base[0];
- (void)simple_symlispcall_no_event(VV[66],base+6,1);
- princ_char(41,VV[17]);
- T372:;
- base[6]= Cnil;
- vs_top=(vs_base=base+6)+1;
- bds_unwind1;
- return;
- T368:;
- if(!((V7)==VV[41])){
- goto T432;}
- if(!(symbol_value(VV[2])==VV[41])){
- goto T60;}
- if((base[3])!=Cnil){
- goto T437;}
- if(!((V6)>0)){
- goto T438;}
- T437:;
- base[6]= simple_symlispcall_no_event(VV[57],base+7,0);
- princ_str("\n ",VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_str("= ",VV[17]);
- base[7]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_char(59,VV[17]);
- base[7]= base[3];
- base[8]= make_fixnum(V6);
- vs_top=(vs_base=base+7)+2;
- L5();
- vs_top=sup;
- princ_str("\n VMR",VV[17]);
- base[7]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+7,1);
- princ_char(40,VV[17]);
- base[7]= base[6];
- (void)simple_symlispcall_no_event(VV[60],base+7,1);
- princ_char(41,VV[17]);
- goto T436;
- T438:;
- princ_str("\n VMR",VV[17]);
- base[6]= symbol_value(VV[37]);
- (void)simple_symlispcall_no_event(VV[51],base+6,1);
- princ_char(40,VV[17]);
- base[6]= base[0];
- (void)simple_symlispcall_no_event(VV[51],base+6,1);
- princ_char(41,VV[17]);
- T436:;
- base[6]= Cnil;
- vs_top=(vs_base=base+6)+1;
- bds_unwind1;
- return;
- T432:;
- (void)simple_symlispcall_no_event(VV[55],base+6,0);
- T60:;
- base[4]= cdr(base[4]);
- V7= car(base[4]);
- goto T55;}}
- }
- /* function definition for UNWIND-NO-EXIT */
-
- static L7()
- { register object *base=vs_base;
- register object *sup=base+VM9;
- vs_reserve(VM9);
- check_arg(1);
- vs_top=sup;
- TTL:;
- {int V11;
- base[1]= Cnil;
- V11= 0;
- {object V12;
- base[2]= symbol_value(VV[3]);
- V12= car(base[2]);
- T477:;
- if(!(endp(base[2]))){
- goto T478;}
- symlispcall_no_event(VV[55],base+3,0);
- return;
- T478:;
- if(!(type_of((V12))==t_cons)){
- goto T484;}
- if(!((V12)==base[0])){
- goto T482;}
- base[3]= base[1];
- base[4]= make_fixnum(V11);
- vs_top=(vs_base=base+3)+2;
- L5();
- vs_top=sup;
- base[3]= Cnil;
- vs_top=(vs_base=base+3)+1;
- return;
- T484:;
- if(!(type_of((V12))==t_fixnum||
- type_of((V12))==t_bignum||
- type_of((V12))==t_ratio||
- type_of((V12))==t_shortfloat||
- type_of((V12))==t_longfloat||
- type_of((V12))==t_complex)){
- goto T492;}
- base[1]= (V12);
- V11= 0;
- goto T482;
- T492:;
- if(!((V12)==VV[29])){
- goto T498;}
- V11= (V11)+(1);
- goto T482;
- T498:;
- {object x= (V12),V13= VV[42];
- while(!endp(V13))
- if(eql(x,V13->c.c_car)){
- goto T503;
- }else V13=V13->c.c_cdr;
- goto T502;}
- T503:;
- if(!(base[0]==(V12))){
- goto T505;}
- base[3]= base[1];
- base[4]= make_fixnum(V11);
- vs_top=(vs_base=base+3)+2;
- L5();
- vs_top=sup;
- base[3]= Cnil;
- vs_top=(vs_base=base+3)+1;
- return;
- T505:;
- (void)simple_symlispcall_no_event(VV[55],base+3,0);
- goto T482;
- T502:;
- if(!((V12)==VV[31])){
- goto T511;}
- princ_str("\n frs_pop();",VV[17]);
- goto T482;
- T511:;
- if(!((V12)==VV[33])){
- goto T515;}
- if(!(base[0]==VV[33])){
- goto T518;}
- base[3]= base[1];
- base[4]= make_fixnum(V11);
- vs_top=(vs_base=base+3)+2;
- L5();
- vs_top=sup;
- base[3]= Cnil;
- vs_top=(vs_base=base+3)+1;
- return;
- T518:;
- (void)simple_symlispcall_no_event(VV[55],base+3,0);
- goto T482;
- T515:;
- base[3]= ((V12)==VV[34]?Ct:Cnil);
- if((base[3])==Cnil){
- goto T525;}
- goto T482;
- T525:;
- (void)simple_symlispcall_no_event(VV[55],base+4,0);
- T482:;
- base[2]= cdr(base[2]);
- V12= car(base[2]);
- goto T477;}}
- }
- /* function definition for TAIL-RECURSION-POSSIBLE */
-
- static L8()
- { register object *base=vs_base;
- register object *sup=base+VM10;
- vs_reserve(VM10);
- check_arg(0);
- vs_top=sup;
- TTL:;
- {object V14;
- base[0]= symbol_value(VV[3]);
- V14= car(base[0]);
- T534:;
- if(!(endp(base[0]))){
- goto T535;}
- symlispcall_no_event(VV[55],base+1,0);
- return;
- T535:;
- if(!((V14)==VV[33])){
- goto T541;}
- base[1]= Ct;
- vs_top=(vs_base=base+1)+1;
- return;
- T541:;
- if(type_of((V14))==t_fixnum||
- type_of((V14))==t_bignum||
- type_of((V14))==t_ratio||
- type_of((V14))==t_shortfloat||
- type_of((V14))==t_longfloat||
- type_of((V14))==t_complex){
- goto T543;}
- if((V14)==VV[29]){
- goto T543;}
- if(!((V14)==VV[31])){
- goto T544;}
- T543:;
- base[1]= Cnil;
- vs_top=(vs_base=base+1)+1;
- return;
- T544:;
- if(!(type_of((V14))==t_cons)){
- goto T551;}
- base[1]= Ct;
- goto T550;
- T551:;
- base[1]= ((V14)==VV[34]?Ct:Cnil);
- T550:;
- if((base[1])==Cnil){
- goto T554;}
- goto T539;
- T554:;
- (void)simple_symlispcall_no_event(VV[55],base+2,0);
- T539:;
- base[0]= cdr(base[0]);
- V14= car(base[0]);
- goto T534;}
- }
-